1. Field of the Invention
The present invention relates to a microcomputer having a rewritable involatile memory.
2. Description of the Prior Art
FIG. 3 shows the configurations of a microcomputer having a conventional EPROM (erasable programmable read-only memory), a rewritable involatile memory and its peripherals. In the figure, numeral 1 is a central processing unit (CPU), 2 internal bus, 3 RAM for storing data, 4 ROM, 5 EPROM, 6c buffer gate, 7 control line, 8 output bus and 9 microcomputer. The microcomputer 9 is connected to a programmer 11 and a host computer 12 via an external bus 10 for initialization. The programmer 11 comprises a RAM 13 which consists of a program area 14 for storing data and an unused empty area 15 having no data.
The EPROM 5 stores an operation program for the CPU 1 and the RAM 3 retains data in process of operation. The programmer 11 is used to write programs into the EPROM 5 and the programs are supplied from the host computer 12 as occasion demands. When the capacity of the RAM 13 of programmer 11 is 32 K bytes, for instance, the capacity of the EPROM 5 is 16 K bytes. Generally speaking, the RAM 13 is two times or more the capacity of the EPROM 5. This is because the built-in EPROM 5 is molded as small as possible in order to reduce the size and weight of the microcomputer 9.
The programmer 11 stores created programs (or programs supplied from the host computer 12) in the internal RAM 13 and write them into the EPROM 5 of the microcomputer 9.
A blank check is first made on the EPROM 5 as a preliminary step toward the processing of this writing. Then, actual writing is carried out. Finally, a verification check is made to see whether programs are written into EPROM 5 or not. Before writing, the contents of the EPROM 5 are "FF", which is verified by the blank check. The contents of the EPROM 5 before writing and after old programs are erased are always "FF".
The EPROM 5, an involatile memory, generally changes its internal memory data from "1" to "0" for writing, but cannot change from "0" to "1". "FF" of the EPROM 5 means that all area bit data are set (blank=possible to write).
After the blank check, the programmer 11 writes program data stored in the RAM 13 into the EPROM 5, At this time, an address must be set so as to write data stored in the program area 14 of the RAM 13 into the EPROM 5.
After all data stored in the program area 14 are written into the EPROM 5, a verification check is made to see if data within the program area 14 coincide with data within the EPROM 5. When they do not coincide with each other, an error occurs, and accordingly, a fail stop is given to the microcomputer.
In the example of FIG. 3, data are written into the EPROM 5 in 256 mode by the programmer 11 with a memory capacity of 32 K bytes, two times that of the RAM.
In the address area of this programmer 11, program data within the program area 14 with an address of OH to 3FFFH are set so as to write the data into the EPROM 5 for a verification check.
The conventional microcomputer 9 has such a drawback that when the programmer 11 might read the empty area 15 of the RAM 13 and compare the read data with the contents of the EPROM 5 at the time of a verification check before writing data into the EPROM 5, the two data do not coincide with each other and the output of microcomputer becomes unstable, resulting in a fail stop.
That is, the contents of the empty area 15 of the RAM 13 are all "FF", while the contents of the EPROM 5 are program data and not always "FF". Accordingly, these two data sometimes do not coincide with each other, thus causing an error.
To prevent area setting errors, it is always necessary to set the programmer 11 so that writing processing (blank check, writing and verification check) is conducted only for the program area 14 of the RAM 13. The specification of the program area (part) of the RAM 13 requires an extra program, which has been difficult for the microcomputer 9 because of size limitations.